package plus.xj17520.org.domain;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 * @projectName: pethomeProject
 * @package: plus.xj17520.org.domain
 * @className: Employee
 * @author: XiaoJue
 * @description: TODO
 * @date: 2022/5/23 14:53
 * @version: 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "t_employee")
@ApiModel(description = "员工实体类对象")
public class Employee extends BaseDomain{
    @Id
    @GeneratedValue(generator = "JDBC")
    @ApiModelProperty(value = "员工对象的主键")
    // 员工主键id
    private Long id;

    // 员工姓名
    @ApiModelProperty(value = "员工姓名")
    private String username;

    // 员工的email
    @ApiModelProperty(value = "员工的email")
    private String email;

    // 员工的手机号
    @ApiModelProperty(value = "员工的手机号")
    private String phone;

    // 员工的性别
    @ApiModelProperty(value = "员工的性别")
    private Integer sex;


    // 员工的密码
    @ApiModelProperty(value = "员工的密码")
    private String password;

    // 员工的年龄
    @ApiModelProperty(value = "员工的年龄")
    private Integer age;

    // 员工的状态:1正常；2锁定；3注销
    @ApiModelProperty(value = "员工的状态:1正常；2锁定；3注销")
    private Integer state;

    // 员工的部门id
    @ApiModelProperty(value = "员工的部门id")
    private Integer departmentId;

    // 员工的logininfo_id:关联的登录信息ID
    @ApiModelProperty(value = "员工的logininfo_id:关联的登录信息ID")
    private Integer logininfoId;

    // 员工的shop_id:关联的店铺ID
    @ApiModelProperty(value = "员工的shop_id:关联的店铺ID")
    private Integer shopId;

    // 员工的shop_admin:标识该用户是否是超管,默认是0,不是超管,超管是1
    @ApiModelProperty(value = "员工的shop_admin:标识该用户是否是超管,默认是0,不是超管,超管是1")
    private Boolean shopAdmin;

    // 员工的del:默认值是1,表示未删除,删除,0
    @ApiModelProperty(value = "员工的del:默认值是1,表示未删除,删除,0")
    private Integer del;

    // 员工的salt:盐值
    @ApiModelProperty(value = "员工的salt:盐值")
    private Integer salt;

    @Transient
    private String deptName;


}
